package javaBasic;

import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;

public class Java8NewCharacters {

    public static void main(String[] args) {


/**
 * 生成流
 * stream() − 为集合创建串行流。
 *
 * parallelStream() − 为集合创建并行流。
* */
        List<String> strings = Arrays.asList("abc", "", "bc", "efg");
        List<String> collect = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList());
        for (String a:
  collect             ) {
            System.out.println(a);
        }

        /**
         * Stream 提供了新的方法 'forEach' 来迭代流中的每个数据
         *
        * */
        Random random = new Random();
        random.ints().limit(10).forEach(System.out::println);

        /**
         * map 方法用于映射每个元素到对应的结果
         * */
        List<Integer> integers = Arrays.asList(3, 2, 2, 3, 7);
          integers.stream().map(i -> i * i).distinct().collect(Collectors.toList()).forEach(System.out::println);
          /**
           *
           * filter 方法用于通过设置的条件过滤出元素。
           * */
        List<String> strings1 = Arrays.asList("abc", "", "bc", "adbd", "");
        long count = strings1.stream().filter(string -> string.isEmpty()).count();
        System.out.println(count);


    }



}
